home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Displays.a < prev    next >
Text File  |  1996-05-01  |  28KB  |  1,022 lines

  1. ;
  2. ;    File:        Displays.a
  3. ;
  4. ;    Contains:    Display Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__DISPLAYS__') = 'UNDEFINED' THEN
  19. __DISPLAYS__ SET 1
  20.  
  21.     IF &TYPE('__CONDITIONALMACROS__') = 'UNDEFINED' THEN
  22.     include 'ConditionalMacros.a'
  23.     ENDIF
  24.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  25.     include 'Components.a'
  26.     ENDIF
  27.     IF &TYPE('__VIDEO__') = 'UNDEFINED' THEN
  28.     include 'Video.a'
  29.     ENDIF
  30.     IF 0 THEN
  31.  
  32.     IF &TYPE('__APPLEEVENTS__') = 'UNDEFINED' THEN
  33.     include 'AppleEvents.a'
  34.     ENDIF
  35.     IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
  36.     include 'Windows.a'
  37.     ENDIF
  38.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  39.     include 'Events.a'
  40.     ENDIF
  41.     IF &TYPE('__PROCESSES__') = 'UNDEFINED' THEN
  42.     include 'Processes.a'
  43.     ENDIF
  44.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  45.     include 'Dialogs.a'
  46.     ENDIF
  47.     ENDIF
  48.  
  49.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  50.  
  51.                                                             ; AppleEvents Core Suite 
  52. kAESystemConfigNotice            EQU        'cnfg'                ; Core Suite types 
  53. kAEDisplayNotice                EQU        'dspl'
  54. kAEDisplaySummary                EQU        'dsum'
  55. keyDMConfigVersion                EQU        'dmcv'
  56. keyDMConfigFlags                EQU        'dmcf'
  57. keyDMConfigReserved                EQU        'dmcr'
  58. keyDisplayID                    EQU        'dmid'
  59. keyDisplayComponent                EQU        'dmdc'
  60. keyDisplayDevice                EQU        'dmdd'
  61. keyDisplayFlags                    EQU        'dmdf'
  62. keyDisplayMode                    EQU        'dmdm'
  63. keyDisplayModeReserved            EQU        'dmmr'
  64. keyDisplayReserved                EQU        'dmdr'
  65. keyDisplayMirroredId            EQU        'dmmi'
  66. keyDeviceFlags                    EQU        'dddf'
  67. keyDeviceDepthMode                EQU        'dddm'
  68. keyDeviceRect                    EQU        'dddr'
  69. keyPixMapRect                    EQU        'dpdr'
  70. keyPixMapHResolution            EQU        'dphr'
  71. keyPixMapVResolution            EQU        'dpvr'
  72. keyPixMapPixelType                EQU        'dppt'
  73. keyPixMapPixelSize                EQU        'dpps'
  74. keyPixMapCmpCount                EQU        'dpcc'
  75. keyPixMapCmpSize                EQU        'dpcs'
  76. keyPixMapAlignment                EQU        'dppa'
  77. keyPixMapResReserved            EQU        'dprr'
  78. keyPixMapReserved                EQU        'dppr'
  79. keyPixMapColorTableSeed            EQU        'dpct'
  80. keySummaryMenubar                EQU        'dsmb'
  81. keySummaryChanges                EQU        'dsch'
  82. keyDisplayOldConfig                EQU        'dold'
  83. keyDisplayNewConfig                EQU        'dnew'
  84.  
  85. dmOnlyActiveDisplays            EQU        1
  86. dmAllDisplays                    EQU        0
  87.  
  88.                                                             ; Switch Flags 
  89. kNoSwitchConfirmBit                EQU        0                    ; Flag indicating that there is no need to confirm a switch to this mode 
  90. kDepthNotAvailableBit            EQU        1                    ; Current depth not available in new mode 
  91. kShowModeBit                    EQU        3                    ; Show this mode even though it requires a confirm. 
  92. kModeNotResizeBit                EQU        4                    ; Do not use this mode to resize display (for cards that mode drives a different connector). 
  93. kNeverShowModeBit                EQU        5                    ; This mode should not be shown in the user interface. 
  94. ;
  95. ;    Summary Change Flags (sticky bits indicating an operation was performed)
  96. ;    For example, moving a display then moving it back will still set the kMovedDisplayBit.
  97. ;
  98.  
  99. kBeginEndConfigureBit            EQU        0
  100. kMovedDisplayBit                EQU        1
  101. kSetMainDisplayBit                EQU        2
  102. kSetDisplayModeBit                EQU        3
  103. kAddDisplayBit                    EQU        4
  104. kRemoveDisplayBit                EQU        5
  105. kNewDisplayBit                    EQU        6
  106. kDisposeDisplayBit                EQU        7
  107. kEnabledDisplayBit                EQU        8
  108. kDisabledDisplayBit                EQU        9
  109. kMirrorDisplayBit                EQU        10
  110. kUnMirrorDisplayBit                EQU        11
  111.  
  112.                                                             ; Notification Messages for extended call back routines 
  113. kDMNotifyInstalled                EQU        1                    ; At install time 
  114. kDMNotifyEvent                    EQU        2                    ; Post change time 
  115. kDMNotifyRemoved                EQU        3                    ; At remove time 
  116. kDMNotifyPrep                    EQU        4                    ; Pre change time 
  117. kDMNotifyExtendEvent            EQU        5                    ; Allow registrees to extend apple event before it is sent 
  118. kDMNotifyDependents                EQU        6                    ; Minor notification check without full update 
  119. kDMNotifySuspendConfigure        EQU        7                    ; Temporary end of configuration 
  120. kDMNotifyResumeConfigure        EQU        8                    ; Resume configuration 
  121.                                                             ; Notification Flags 
  122. kExtendedNotificationProc        EQU        $00010000
  123. ;  types for notifyType 
  124.  
  125. kFullNotify                        EQU        0                    ; This is the appleevent whole nine yards notify 
  126. kFullDependencyNotify            EQU        1                    ; Only sends to those who want to know about interrelated functionality (used for updating UI) 
  127. ;  DisplayID/DeviceID constants 
  128.  
  129. kDummyDeviceID                    EQU        $00FF                ; This is the ID of the dummy display, used when the last ``real'' display is disabled.
  130. kInvalidDisplayID                EQU        $0000                ; This is the invalid ID
  131. kFirstDisplayID                    EQU        $0100
  132.  
  133.                                                             ; bits for panelListFlags 
  134. kAllowDuplicatesBit                EQU        0
  135.  
  136.                                                             ; bits for nameFlags 
  137. kSuppressNumberBit                EQU        0
  138. kSuppressNumberMask                EQU        1
  139. kForceNumberBit                    EQU        1
  140. kForceNumberMask                EQU        2
  141. kSuppressNameBit                EQU        2
  142. kSuppressNameMask                EQU        4
  143. ;  Constants for fidelity checks 
  144.  
  145. kNoFidelity                        EQU        0
  146. kMinimumFidelity                EQU        1
  147. kDefaultFidelity                EQU        500                    ; I'm just picking a number for Apple default panels and engines
  148. kDefaultManufacturerFidelity    EQU        1000                ; I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)
  149.  
  150. kAnyPanelType                    EQU        0                    ; Pass to DMNewEngineList for list of all panels (as opposed to specific types)
  151. kAnyEngineType                    EQU        0                    ; Pass to DMNewEngineList for list of all engines
  152. kAnyDeviceType                    EQU        0                    ; Pass to DMNewDeviceList for list of all devices
  153. kAnyPortType                    EQU        0                    ; Pass to DMNewDevicePortList for list of all devices
  154. ;  portListFlags for DM_NewDevicePortList 
  155.  
  156.                                                             ; Should offline devices be put into the port list (such as dummy display) 
  157. kPLIncludeOfflineDevicesBit        EQU        0
  158. ; typedef unsigned long                 DMFidelityType
  159.  
  160. ;
  161. ; AVID is an ID for ports and devices the old DisplayID type
  162. ;    is carried on for compatibility
  163. ;
  164. ; typedef unsigned long                 AVIDType
  165.  
  166. ; typedef AVIDType                         DisplayIDType
  167.  
  168. ; typedef void *                        DMListType
  169.  
  170. ; typedef unsigned long                 DMListIndexType
  171.  
  172. AVPowerStateRec            RECORD 0
  173. f                         ds        VDPowerStateRec
  174. sizeof                     EQU *                    ; size:   $10 (16)
  175.                         ENDR
  176.  
  177.  
  178. ; typedef struct VDPowerStateRec *        AVPowerStatePtr
  179.  
  180. DMComponentListEntryRec    RECORD 0
  181. itemID                     ds.l    1                ; offset: $0 (0)        ;  DisplayID Manager
  182. itemComponent             ds.l    1                ; offset: $4 (4)        ;  Component Manager
  183. itemDescription             ds        ComponentDescription ; offset: $8 (8)    ;  We can always construct this if we use something beyond the compontent mgr.
  184. itemClass                 ds.l    1                ; offset: $1C (28)        ;  Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)
  185. itemFidelity             ds.l    1                ; offset: $20 (32)        ;  How good is this item for the specified search?
  186. itemSubClass             ds.l    1                ; offset: $24 (36)        ;  Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel)
  187. itemSort                 ds        Point            ; offset: $28 (40)        ;  Set to 0 - future to sort the items in a sub group.
  188. itemFlags                 ds.l    1                ; offset: $2C (44)        ;  Set to 0 (future expansion)
  189. itemReserved             ds.l    1                ; offset: $30 (48)        ;  What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only)
  190. itemFuture1                 ds.l    1                ; offset: $34 (52)        ;  Set to 0 (future expansion - probably an alternate code style)
  191. itemFuture2                 ds.l    1                ; offset: $38 (56)        ;  Set to 0 (future expansion - probably an alternate code style)
  192. itemFuture3                 ds.l    1                ; offset: $3C (60)        ;  Set to 0 (future expansion - probably an alternate code style)
  193. itemFuture4                 ds.l    1                ; offset: $40 (64)        ;  Set to 0 (future expansion - probably an alternate code style)
  194. sizeof                     EQU *                    ; size:   $44 (68)
  195.                         ENDR
  196. ; typedef struct DMComponentListEntryRec * DMComponentListEntryPtr
  197.  
  198. ;  *** Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created
  199. AVLocationRec            RECORD 0
  200. locationConstant         ds.l    1                ; offset: $0 (0)        ;  Set to 0 (future expansion - probably an alternate code style)
  201. sizeof                     EQU *                    ; size:   $4 (4)
  202.                         ENDR
  203. ; typedef struct AVLocationRec *        AVLocationPtr
  204.  
  205. DMDepthInfoRec            RECORD 0
  206. depthSwitchInfo             ds.l    1                ; offset: $0 (0)        ;  This is the switch mode to choose this timing/depth 
  207. depthVPBlock             ds.l    1                ; offset: $4 (4)        ;  VPBlock (including size, depth and format) 
  208. depthFlags                 ds.l    1                ; offset: $8 (8)        ;  Reserved 
  209. depthReserved1             ds.l    1                ; offset: $C (12)        ;  Reserved 
  210. depthReserved2             ds.l    1                ; offset: $10 (16)        ;  Reserved 
  211. sizeof                     EQU *                    ; size:   $14 (20)
  212.                         ENDR
  213. ; typedef struct DMDepthInfoRec *        DMDepthInfoPtr
  214.  
  215. DMDepthInfoBlockRec        RECORD 0
  216. depthBlockCount             ds.l    1                ; offset: $0 (0)        ;  How many depths are there? 
  217. depthVPBlock             ds.l    1                ; offset: $4 (4)        ;  Array of DMDepthInfoRec 
  218. depthBlockFlags             ds.l    1                ; offset: $8 (8)        ;  Reserved 
  219. depthBlockReserved1         ds.l    1                ; offset: $C (12)        ;  Reserved 
  220. depthBlockReserved2         ds.l    1                ; offset: $10 (16)        ;  Reserved 
  221. sizeof                     EQU *                    ; size:   $14 (20)
  222.                         ENDR
  223. ; typedef struct DMDepthInfoBlockRec *    DMDepthInfoBlockPtr
  224.  
  225. DMDisplayModeListEntryRec RECORD 0
  226. displayModeFlags         ds.l    1                ; offset: $0 (0)
  227. displayModeSwitchInfo     ds.l    1                ; offset: $4 (4)
  228. displayModeResolutionInfo  ds.l    1                ; offset: $8 (8)
  229. displayModeTimingInfo     ds.l    1                ; offset: $C (12)
  230. displayModeDepthBlockInfo  ds.l    1                ; offset: $10 (16)        ;  Information about all the depths
  231. displayModeReserved1     ds.l    1                ; offset: $14 (20)        ;  Reserved
  232. displayModeName             ds.l    1                ; offset: $18 (24)        ;  Name of the timing mode
  233. sizeof                     EQU *                    ; size:   $1C (28)
  234.                         ENDR
  235. ; typedef struct DMDisplayModeListEntryRec * DMDisplayModeListEntryPtr
  236.  
  237. DependentNotifyRec        RECORD 0
  238. notifyType                 ds.l    1                ; offset: $0 (0)        ;  What type was the engine that made the change (may be zero)
  239. notifyClass                 ds.l    1                ; offset: $4 (4)        ;  What class was the change (eg geometry, color etc)
  240. notifyPortID             ds.l    1                ; offset: $8 (8)        ;  Which device was touched (kInvalidDisplayID -> all or none)
  241. notifyComponent             ds.l    1                ; offset: $C (12)        ;  What engine did it (may be 0)?
  242. notifyVersion             ds.l    1                ; offset: $10 (16)        ;  Set to 0 (future expansion)
  243. notifyFlags                 ds.l    1                ; offset: $14 (20)        ;  Set to 0 (future expansion)
  244. notifyReserved             ds.l    1                ; offset: $18 (24)        ;  Set to 0 (future expansion)
  245. notifyFuture             ds.l    1                ; offset: $1C (28)        ;  Set to 0 (future expansion)
  246. sizeof                     EQU *                    ; size:   $20 (32)
  247.                         ENDR
  248. ; typedef struct DependentNotifyRec *    DependentNotifyPtr
  249.  
  250. ;  Exports to support Interfaces library containing unused calls 
  251. ;  Trap interfaces 
  252. ;
  253. ; pascal GDHandle DMGetFirstScreenDevice(Boolean activeOnly)
  254. ;
  255.     IF ¨ GENERATINGCFM THEN
  256.         Macro
  257.         _DMGetFirstScreenDevice
  258.             moveq               #0,D0
  259.             dc.w                $ABEB
  260.         EndM
  261.     ELSE
  262.         IMPORT_CFM_FUNCTION DMGetFirstScreenDevice
  263.     ENDIF
  264.  
  265. ;
  266. ; pascal GDHandle DMGetNextScreenDevice(GDHandle theDevice, Boolean activeOnly)
  267. ;
  268.     IF ¨ GENERATINGCFM THEN
  269.         Macro
  270.         _DMGetNextScreenDevice
  271.             moveq               #1,D0
  272.             dc.w                $ABEB
  273.         EndM
  274.     ELSE
  275.         IMPORT_CFM_FUNCTION DMGetNextScreenDevice
  276.     ENDIF
  277.  
  278. ;
  279. ; pascal void DMDrawDesktopRect(Rect *globalRect)
  280. ;
  281.     IF ¨ GENERATINGCFM THEN
  282.         Macro
  283.         _DMDrawDesktopRect
  284.             moveq               #2,D0
  285.             dc.w                $ABEB
  286.         EndM
  287.     ELSE
  288.         IMPORT_CFM_FUNCTION DMDrawDesktopRect
  289.     ENDIF
  290.  
  291. ;
  292. ; pascal void DMDrawDesktopRegion(RgnHandle globalRgn)
  293. ;
  294.     IF ¨ GENERATINGCFM THEN
  295.         Macro
  296.         _DMDrawDesktopRegion
  297.             moveq               #3,D0
  298.             dc.w                $ABEB
  299.         EndM
  300.     ELSE
  301.         IMPORT_CFM_FUNCTION DMDrawDesktopRegion
  302.     ENDIF
  303.  
  304. ;
  305. ; pascal OSErr DMBeginConfigureDisplays(Handle *displayState)
  306. ;
  307.     IF ¨ GENERATINGCFM THEN
  308.         Macro
  309.         _DMBeginConfigureDisplays
  310.             move.w              #$0206,D0
  311.             dc.w                $ABEB
  312.         EndM
  313.     ELSE
  314.         IMPORT_CFM_FUNCTION DMBeginConfigureDisplays
  315.     ENDIF
  316.  
  317. ;
  318. ; pascal OSErr DMEndConfigureDisplays(Handle displayState)
  319. ;
  320.     IF ¨ GENERATINGCFM THEN
  321.         Macro
  322.         _DMEndConfigureDisplays
  323.             move.w              #$0207,D0
  324.             dc.w                $ABEB
  325.         EndM
  326.     ELSE
  327.         IMPORT_CFM_FUNCTION DMEndConfigureDisplays
  328.     ENDIF
  329.  
  330. ;
  331. ; pascal OSErr DMAddDisplay(GDHandle newDevice, short driver, unsigned long mode, unsigned long reserved, unsigned long displayID, Component displayComponent, Handle displayState)
  332. ;
  333.     IF ¨ GENERATINGCFM THEN
  334.         Macro
  335.         _DMAddDisplay
  336.             move.w              #$0D08,D0
  337.             dc.w                $ABEB
  338.         EndM
  339.     ELSE
  340.         IMPORT_CFM_FUNCTION DMAddDisplay
  341.     ENDIF
  342.  
  343. ;
  344. ; pascal OSErr DMMoveDisplay(GDHandle moveDevice, short x, short y, Handle displayState)
  345. ;
  346.     IF ¨ GENERATINGCFM THEN
  347.         Macro
  348.         _DMMoveDisplay
  349.             move.w              #$0609,D0
  350.             dc.w                $ABEB
  351.         EndM
  352.     ELSE
  353.         IMPORT_CFM_FUNCTION DMMoveDisplay
  354.     ENDIF
  355.  
  356. ;
  357. ; pascal OSErr DMDisableDisplay(GDHandle disableDevice, Handle displayState)
  358. ;
  359.     IF ¨ GENERATINGCFM THEN
  360.         Macro
  361.         _DMDisableDisplay
  362.             move.w              #$040A,D0
  363.             dc.w                $ABEB
  364.         EndM
  365.     ELSE
  366.         IMPORT_CFM_FUNCTION DMDisableDisplay
  367.     ENDIF
  368.  
  369. ;
  370. ; pascal OSErr DMEnableDisplay(GDHandle enableDevice, Handle displayState)
  371. ;
  372.     IF ¨ GENERATINGCFM THEN
  373.         Macro
  374.         _DMEnableDisplay
  375.             move.w              #$040B,D0
  376.             dc.w                $ABEB
  377.         EndM
  378.     ELSE
  379.         IMPORT_CFM_FUNCTION DMEnableDisplay
  380.     ENDIF
  381.  
  382. ;
  383. ; pascal OSErr DMRemoveDisplay(GDHandle removeDevice, Handle displayState)
  384. ;
  385.     IF ¨ GENERATINGCFM THEN
  386.         Macro
  387.         _DMRemoveDisplay
  388.             move.w              #$040C,D0
  389.             dc.w                $ABEB
  390.         EndM
  391.     ELSE
  392.         IMPORT_CFM_FUNCTION DMRemoveDisplay
  393.     ENDIF
  394.  
  395. ;
  396. ; pascal OSErr DMSetMainDisplay(GDHandle newMainDevice, Handle displayState)
  397. ;
  398.     IF ¨ GENERATINGCFM THEN
  399.         Macro
  400.         _DMSetMainDisplay
  401.             move.w              #$0410,D0
  402.             dc.w                $ABEB
  403.         EndM
  404.     ELSE
  405.         IMPORT_CFM_FUNCTION DMSetMainDisplay
  406.     ENDIF
  407.  
  408. ;
  409. ; pascal OSErr DMSetDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long *depthMode, unsigned long reserved, Handle displayState)
  410. ;
  411.     IF ¨ GENERATINGCFM THEN
  412.         Macro
  413.         _DMSetDisplayMode
  414.             move.w              #$0A11,D0
  415.             dc.w                $ABEB
  416.         EndM
  417.     ELSE
  418.         IMPORT_CFM_FUNCTION DMSetDisplayMode
  419.     ENDIF
  420.  
  421. ;
  422. ; pascal OSErr DMCheckDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long depthMode, unsigned long *switchFlags, unsigned long reserved, Boolean *modeOk)
  423. ;
  424.     IF ¨ GENERATINGCFM THEN
  425.         Macro
  426.         _DMCheckDisplayMode
  427.             move.w              #$0C12,D0
  428.             dc.w                $ABEB
  429.         EndM
  430.     ELSE
  431.         IMPORT_CFM_FUNCTION DMCheckDisplayMode
  432.     ENDIF
  433.  
  434. ;
  435. ; pascal OSErr DMGetDeskRegion(RgnHandle *desktopRegion)
  436. ;
  437.     IF ¨ GENERATINGCFM THEN
  438.         Macro
  439.         _DMGetDeskRegion
  440.             move.w              #$0213,D0
  441.             dc.w                $ABEB
  442.         EndM
  443.     ELSE
  444.         IMPORT_CFM_FUNCTION DMGetDeskRegion
  445.     ENDIF
  446.  
  447. ;
  448. ; pascal OSErr DMRegisterNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN)
  449. ;
  450.     IF ¨ GENERATINGCFM THEN
  451.         Macro
  452.         _DMRegisterNotifyProc
  453.             move.w              #$0414,D0
  454.             dc.w                $ABEB
  455.         EndM
  456.     ELSE
  457.         IMPORT_CFM_FUNCTION DMRegisterNotifyProc
  458.     ENDIF
  459.  
  460. ;
  461. ; pascal OSErr DMRemoveNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN)
  462. ;
  463.     IF ¨ GENERATINGCFM THEN
  464.         Macro
  465.         _DMRemoveNotifyProc
  466.             move.w              #$0415,D0
  467.             dc.w                $ABEB
  468.         EndM
  469.     ELSE
  470.         IMPORT_CFM_FUNCTION DMRemoveNotifyProc
  471.     ENDIF
  472.  
  473. ;
  474. ; pascal OSErr DMQDIsMirroringCapable(Boolean *qdIsMirroringCapable)
  475. ;
  476.     IF ¨ GENERATINGCFM THEN
  477.         Macro
  478.         _DMQDIsMirroringCapable
  479.             move.w              #$0216,D0
  480.             dc.w                $ABEB
  481.         EndM
  482.     ELSE
  483.         IMPORT_CFM_FUNCTION DMQDIsMirroringCapable
  484.     ENDIF
  485.  
  486. ;
  487. ; pascal OSErr DMCanMirrorNow(Boolean *canMirrorNow)
  488. ;
  489.     IF ¨ GENERATINGCFM THEN
  490.         Macro
  491.         _DMCanMirrorNow
  492.             move.w              #$0217,D0
  493.             dc.w                $ABEB
  494.         EndM
  495.     ELSE
  496.         IMPORT_CFM_FUNCTION DMCanMirrorNow
  497.     ENDIF
  498.  
  499. ;
  500. ; pascal OSErr DMIsMirroringOn(Boolean *isMirroringOn)
  501. ;
  502.     IF ¨ GENERATINGCFM THEN
  503.         Macro
  504.         _DMIsMirroringOn
  505.             move.w              #$0218,D0
  506.             dc.w                $ABEB
  507.         EndM
  508.     ELSE
  509.         IMPORT_CFM_FUNCTION DMIsMirroringOn
  510.     ENDIF
  511.  
  512. ;
  513. ; pascal OSErr DMMirrorDevices(GDHandle gD1, GDHandle gD2, Handle displayState)
  514. ;
  515.     IF ¨ GENERATINGCFM THEN
  516.         Macro
  517.         _DMMirrorDevices
  518.             move.w              #$0619,D0
  519.             dc.w                $ABEB
  520.         EndM
  521.     ELSE
  522.         IMPORT_CFM_FUNCTION DMMirrorDevices
  523.     ENDIF
  524.  
  525. ;
  526. ; pascal OSErr DMUnmirrorDevice(GDHandle gDevice, Handle displayState)
  527. ;
  528.     IF ¨ GENERATINGCFM THEN
  529.         Macro
  530.         _DMUnmirrorDevice
  531.             move.w              #$041A,D0
  532.             dc.w                $ABEB
  533.         EndM
  534.     ELSE
  535.         IMPORT_CFM_FUNCTION DMUnmirrorDevice
  536.     ENDIF
  537.  
  538. ;
  539. ; pascal OSErr DMGetNextMirroredDevice(GDHandle gDevice, GDHandle *mirroredDevice)
  540. ;
  541.     IF ¨ GENERATINGCFM THEN
  542.         Macro
  543.         _DMGetNextMirroredDevice
  544.             move.w              #$041B,D0
  545.             dc.w                $ABEB
  546.         EndM
  547.     ELSE
  548.         IMPORT_CFM_FUNCTION DMGetNextMirroredDevice
  549.     ENDIF
  550.  
  551. ;
  552. ; pascal OSErr DMBlockMirroring(void )
  553. ;
  554.     IF ¨ GENERATINGCFM THEN
  555.         Macro
  556.         _DMBlockMirroring
  557.             moveq               #28,D0
  558.             dc.w                $ABEB
  559.         EndM
  560.     ELSE
  561.         IMPORT_CFM_FUNCTION DMBlockMirroring
  562.     ENDIF
  563.  
  564. ;
  565. ; pascal OSErr DMUnblockMirroring(void )
  566. ;
  567.     IF ¨ GENERATINGCFM THEN
  568.         Macro
  569.         _DMUnblockMirroring
  570.             moveq               #29,D0
  571.             dc.w                $ABEB
  572.         EndM
  573.     ELSE
  574.         IMPORT_CFM_FUNCTION DMUnblockMirroring
  575.     ENDIF
  576.  
  577. ;
  578. ; pascal OSErr DMGetDisplayMgrA5World(Ptr *dmA5)
  579. ;
  580.     IF ¨ GENERATINGCFM THEN
  581.         Macro
  582.         _DMGetDisplayMgrA5World
  583.             move.w              #$021E,D0
  584.             dc.w                $ABEB
  585.         EndM
  586.     ELSE
  587.         IMPORT_CFM_FUNCTION DMGetDisplayMgrA5World
  588.     ENDIF
  589.  
  590. ;
  591. ; pascal OSErr DMGetDisplayIDByGDevice(GDHandle displayDevice, DisplayIDType *displayID, Boolean failToMain)
  592. ;
  593.     IF ¨ GENERATINGCFM THEN
  594.         Macro
  595.         _DMGetDisplayIDByGDevice
  596.             move.w              #$051F,D0
  597.             dc.w                $ABEB
  598.         EndM
  599.     ELSE
  600.         IMPORT_CFM_FUNCTION DMGetDisplayIDByGDevice
  601.     ENDIF
  602.  
  603. ;
  604. ; pascal OSErr DMGetGDeviceByDisplayID(DisplayIDType displayID, GDHandle *displayDevice, Boolean failToMain)
  605. ;
  606.     IF ¨ GENERATINGCFM THEN
  607.         Macro
  608.         _DMGetGDeviceByDisplayID
  609.             move.w              #$0520,D0
  610.             dc.w                $ABEB
  611.         EndM
  612.     ELSE
  613.         IMPORT_CFM_FUNCTION DMGetGDeviceByDisplayID
  614.     ENDIF
  615.  
  616. ;
  617. ; pascal OSErr DMSetDisplayComponent(GDHandle theDevice, Component displayComponent)
  618. ;
  619.     IF ¨ GENERATINGCFM THEN
  620.         Macro
  621.         _DMSetDisplayComponent
  622.             move.w              #$0421,D0
  623.             dc.w                $ABEB
  624.         EndM
  625.     ELSE
  626.         IMPORT_CFM_FUNCTION DMSetDisplayComponent
  627.     ENDIF
  628.  
  629. ;
  630. ; pascal OSErr DMGetDisplayComponent(GDHandle theDevice, Component *displayComponent)
  631. ;
  632.     IF ¨ GENERATINGCFM THEN
  633.         Macro
  634.         _DMGetDisplayComponent
  635.             move.w              #$0422,D0
  636.             dc.w                $ABEB
  637.         EndM
  638.     ELSE
  639.         IMPORT_CFM_FUNCTION DMGetDisplayComponent
  640.     ENDIF
  641.  
  642. ;
  643. ; pascal OSErr DMNewDisplay(GDHandle *newDevice, short driverRefNum, unsigned long mode, unsigned long reserved, DisplayIDType displayID, Component displayComponent, Handle displayState)
  644. ;
  645.     IF ¨ GENERATINGCFM THEN
  646.         Macro
  647.         _DMNewDisplay
  648.             move.w              #$0D23,D0
  649.             dc.w                $ABEB
  650.         EndM
  651.     ELSE
  652.         IMPORT_CFM_FUNCTION DMNewDisplay
  653.     ENDIF
  654.  
  655. ;
  656. ; pascal OSErr DMDisposeDisplay(GDHandle disposeDevice, Handle displayState)
  657. ;
  658.     IF ¨ GENERATINGCFM THEN
  659.         Macro
  660.         _DMDisposeDisplay
  661.             move.w              #$0424,D0
  662.             dc.w                $ABEB
  663.         EndM
  664.     ELSE
  665.         IMPORT_CFM_FUNCTION DMDisposeDisplay
  666.     ENDIF
  667.  
  668. ;
  669. ; pascal OSErr DMResolveDisplayComponents(void )
  670. ;
  671.     IF ¨ GENERATINGCFM THEN
  672.         Macro
  673.         _DMResolveDisplayComponents
  674.             moveq               #37,D0
  675.             dc.w                $ABEB
  676.         EndM
  677.     ELSE
  678.         IMPORT_CFM_FUNCTION DMResolveDisplayComponents
  679.     ENDIF
  680.  
  681. ;
  682. ; pascal OSErr DMRegisterExtendedNotifyProc(DMExtendedNotificationUPP notifyProc, void *notifyUserData, unsigned short nofifyOnFlags, ProcessSerialNumberPtr whichPSN)
  683. ;
  684.     IF ¨ GENERATINGCFM THEN
  685.         Macro
  686.         _DMRegisterExtendedNotifyProc
  687.             move.w              #$07EF,D0
  688.             dc.w                $ABEB
  689.         EndM
  690.     ELSE
  691.         IMPORT_CFM_FUNCTION DMRegisterExtendedNotifyProc
  692.     ENDIF
  693.  
  694. ;
  695. ; pascal OSErr DMRemoveExtendedNotifyProc(DMExtendedNotificationUPP notifyProc, void *notifyUserData, ProcessSerialNumberPtr whichPSN, unsigned short removeFlags)
  696. ;
  697.     IF ¨ GENERATINGCFM THEN
  698.         Macro
  699.         _DMRemoveExtendedNotifyProc
  700.             move.w              #$0726,D0
  701.             dc.w                $ABEB
  702.         EndM
  703.     ELSE
  704.         IMPORT_CFM_FUNCTION DMRemoveExtendedNotifyProc
  705.     ENDIF
  706.  
  707. ;
  708. ; pascal OSErr DMNewAVPanelList(DisplayIDType displayID, ResType panelType, DMFidelityType minimumFidelity, unsigned long panelListFlags, unsigned long reserved, DMListIndexType *thePanelCount, DMListType *thePanelList)
  709. ;
  710.     IF ¨ GENERATINGCFM THEN
  711.         Macro
  712.         _DMNewAVPanelList
  713.             move.w              #$0C27,D0
  714.             dc.w                $ABEB
  715.         EndM
  716.     ELSE
  717.         IMPORT_CFM_FUNCTION DMNewAVPanelList
  718.     ENDIF
  719.  
  720. ;
  721. ; pascal OSErr DMNewAVEngineList(DisplayIDType displayID, ResType engineType, DMFidelityType minimumFidelity, unsigned long engineListFlags, unsigned long reserved, DMListIndexType *engineCount, DMListType *engineList)
  722. ;
  723.     IF ¨ GENERATINGCFM THEN
  724.         Macro
  725.         _DMNewAVEngineList
  726.             move.w              #$0C28,D0
  727.             dc.w                $ABEB
  728.         EndM
  729.     ELSE
  730.         IMPORT_CFM_FUNCTION DMNewAVEngineList
  731.     ENDIF
  732.  
  733. ;
  734. ; pascal OSErr DMNewAVDeviceList(ResType deviceType, unsigned long deviceListFlags, unsigned long reserved, DMListIndexType *deviceCount, DMListType *deviceList)
  735. ;
  736.     IF ¨ GENERATINGCFM THEN
  737.         Macro
  738.         _DMNewAVDeviceList
  739.             move.w              #$0A29,D0
  740.             dc.w                $ABEB
  741.         EndM
  742.     ELSE
  743.         IMPORT_CFM_FUNCTION DMNewAVDeviceList
  744.     ENDIF
  745.  
  746. ;
  747. ; pascal OSErr DMNewAVPortListByPortType(ResType subType, unsigned long portListFlags, unsigned long reserved, DMListIndexType *devicePortCount, DMListType *theDevicePortList)
  748. ;
  749.     IF ¨ GENERATINGCFM THEN
  750.         Macro
  751.         _DMNewAVPortListByPortType
  752.             move.w              #$0A2A,D0
  753.             dc.w                $ABEB
  754.         EndM
  755.     ELSE
  756.         IMPORT_CFM_FUNCTION DMNewAVPortListByPortType
  757.     ENDIF
  758.  
  759. ;
  760. ; pascal OSErr DMGetIndexedComponentFromList(DMListType panelList, DMListIndexType itemIndex, unsigned long reserved, DMComponentListIteratorUPP listIterator, void *userData)
  761. ;
  762.     IF ¨ GENERATINGCFM THEN
  763.         Macro
  764.         _DMGetIndexedComponentFromList
  765.             move.w              #$0A2B,D0
  766.             dc.w                $ABEB
  767.         EndM
  768.     ELSE
  769.         IMPORT_CFM_FUNCTION DMGetIndexedComponentFromList
  770.     ENDIF
  771.  
  772. ;
  773. ; pascal OSErr DMDisposeList(DMListType panelList)
  774. ;
  775.     IF ¨ GENERATINGCFM THEN
  776.         Macro
  777.         _DMDisposeList
  778.             move.w              #$022C,D0
  779.             dc.w                $ABEB
  780.         EndM
  781.     ELSE
  782.         IMPORT_CFM_FUNCTION DMDisposeList
  783.     ENDIF
  784.  
  785. ;
  786. ; pascal OSErr DMGetNameByAVID(AVIDType theID, unsigned long nameFlags, Str255 name)
  787. ;
  788.     IF ¨ GENERATINGCFM THEN
  789.         Macro
  790.         _DMGetNameByAVID
  791.             move.w              #$062D,D0
  792.             dc.w                $ABEB
  793.         EndM
  794.     ELSE
  795.         IMPORT_CFM_FUNCTION DMGetNameByAVID
  796.     ENDIF
  797.  
  798. ;
  799. ; pascal OSErr DMNewAVIDByPortComponent(Component thePortComponent, ResType portKind, unsigned long reserved, AVIDType *newID)
  800. ;
  801.     IF ¨ GENERATINGCFM THEN
  802.         Macro
  803.         _DMNewAVIDByPortComponent
  804.             move.w              #$082E,D0
  805.             dc.w                $ABEB
  806.         EndM
  807.     ELSE
  808.         IMPORT_CFM_FUNCTION DMNewAVIDByPortComponent
  809.     ENDIF
  810.  
  811. ;
  812. ; pascal OSErr DMGetPortComponentByAVID(DisplayIDType thePortID, Component *thePortComponent, ComponentDescription *theDesciption, ResType *thePortKind)
  813. ;
  814.     IF ¨ GENERATINGCFM THEN
  815.         Macro
  816.         _DMGetPortComponentByAVID
  817.             move.w              #$082F,D0
  818.             dc.w                $ABEB
  819.         EndM
  820.     ELSE
  821.         IMPORT_CFM_FUNCTION DMGetPortComponentByAVID
  822.     ENDIF
  823.  
  824. ;
  825. ; pascal OSErr DMSendDependentNotification(ResType notifyType, ResType notifyClass, AVIDType displayID, ComponentInstance notifyComponent)
  826. ;
  827.     IF ¨ GENERATINGCFM THEN
  828.         Macro
  829.         _DMSendDependentNotification
  830.             move.w              #$0830,D0
  831.             dc.w                $ABEB
  832.         EndM
  833.     ELSE
  834.         IMPORT_CFM_FUNCTION DMSendDependentNotification
  835.     ENDIF
  836.  
  837. ;
  838. ; pascal OSErr DMDisposeAVComponent(Component theAVComponent)
  839. ;
  840.     IF ¨ GENERATINGCFM THEN
  841.         Macro
  842.         _DMDisposeAVComponent
  843.             move.w              #$0231,D0
  844.             dc.w                $ABEB
  845.         EndM
  846.     ELSE
  847.         IMPORT_CFM_FUNCTION DMDisposeAVComponent
  848.     ENDIF
  849.  
  850. ;
  851. ; pascal OSErr DMSaveScreenPrefs(unsigned long reserved1, unsigned long saveFlags, unsigned long reserved2)
  852. ;
  853.     IF ¨ GENERATINGCFM THEN
  854.         Macro
  855.         _DMSaveScreenPrefs
  856.             move.w              #$0632,D0
  857.             dc.w                $ABEB
  858.         EndM
  859.     ELSE
  860.         IMPORT_CFM_FUNCTION DMSaveScreenPrefs
  861.     ENDIF
  862.  
  863. ;
  864. ; pascal OSErr DMNewAVIDByDeviceComponent(Component theDeviceComponent, ResType portKind, unsigned long reserved, DisplayIDType *newID)
  865. ;
  866.     IF ¨ GENERATINGCFM THEN
  867.         Macro
  868.         _DMNewAVIDByDeviceComponent
  869.             move.w              #$0833,D0
  870.             dc.w                $ABEB
  871.         EndM
  872.     ELSE
  873.         IMPORT_CFM_FUNCTION DMNewAVIDByDeviceComponent
  874.     ENDIF
  875.  
  876. ;
  877. ; pascal OSErr DMNewAVPortListByDeviceAVID(AVIDType theID, DMFidelityType minimumFidelity, unsigned long portListFlags, unsigned long reserved, DMListIndexType *devicePortCount, DMListType *theDevicePortList)
  878. ;
  879.     IF ¨ GENERATINGCFM THEN
  880.         Macro
  881.         _DMNewAVPortListByDeviceAVID
  882.             move.w              #$0C34,D0
  883.             dc.w                $ABEB
  884.         EndM
  885.     ELSE
  886.         IMPORT_CFM_FUNCTION DMNewAVPortListByDeviceAVID
  887.     ENDIF
  888.  
  889. ;
  890. ; pascal OSErr DMGetDeviceComponentByAVID(AVIDType theDeviceID, Component *theDeviceComponent, ComponentDescription *theDesciption, ResType *theDeviceKind)
  891. ;
  892.     IF ¨ GENERATINGCFM THEN
  893.         Macro
  894.         _DMGetDeviceComponentByAVID
  895.             move.w              #$0835,D0
  896.             dc.w                $ABEB
  897.         EndM
  898.     ELSE
  899.         IMPORT_CFM_FUNCTION DMGetDeviceComponentByAVID
  900.     ENDIF
  901.  
  902. ;
  903. ; pascal OSErr DMNewDisplayModeList(DisplayIDType displayID, unsigned long modeListFlags, unsigned long reserved, DMListIndexType *thePanelCount, DMListType *thePanelList)
  904. ;
  905.     IF ¨ GENERATINGCFM THEN
  906.         Macro
  907.         _DMNewDisplayModeList
  908.             move.w              #$0A36,D0
  909.             dc.w                $ABEB
  910.         EndM
  911.     ELSE
  912.         IMPORT_CFM_FUNCTION DMNewDisplayModeList
  913.     ENDIF
  914.  
  915. ;
  916. ; pascal OSErr DMGetIndexedDisplayModeFromList(DMListType panelList, DMListIndexType itemIndex, unsigned long reserved, DMDisplayModeListIteratorUPP listIterator, void *userData)
  917. ;
  918.     IF ¨ GENERATINGCFM THEN
  919.         Macro
  920.         _DMGetIndexedDisplayModeFromList
  921.             move.w              #$0A37,D0
  922.             dc.w                $ABEB
  923.         EndM
  924.     ELSE
  925.         IMPORT_CFM_FUNCTION DMGetIndexedDisplayModeFromList
  926.     ENDIF
  927.  
  928. ;
  929. ; pascal OSErr DMGetGraphicInfoByAVID(AVIDType theID, PicHandle *theAVPcit, Handle *theAVIconSuite, AVLocationRec *theAVLocation)
  930. ;
  931.     IF ¨ GENERATINGCFM THEN
  932.         Macro
  933.         _DMGetGraphicInfoByAVID
  934.             move.w              #$0838,D0
  935.             dc.w                $ABEB
  936.         EndM
  937.     ELSE
  938.         IMPORT_CFM_FUNCTION DMGetGraphicInfoByAVID
  939.     ENDIF
  940.  
  941. ;
  942. ; pascal OSErr DMGetAVPowerState(AVIDType theID, AVPowerStatePtr getPowerState, unsigned long reserved1)
  943. ;
  944.     IF ¨ GENERATINGCFM THEN
  945.         Macro
  946.         _DMGetAVPowerState
  947.             move.w              #$0839,D0
  948.             dc.w                $ABEB
  949.         EndM
  950.     ELSE
  951.         IMPORT_CFM_FUNCTION DMGetAVPowerState
  952.     ENDIF
  953.  
  954. ;
  955. ; pascal OSErr DMSetAVPowerState(AVIDType theID, AVPowerStatePtr setPowerState, unsigned long powerFlags, Handle displayState)
  956. ;
  957.     IF ¨ GENERATINGCFM THEN
  958.         Macro
  959.         _DMSetAVPowerState
  960.             move.w              #$083A,D0
  961.             dc.w                $ABEB
  962.         EndM
  963.     ELSE
  964.         IMPORT_CFM_FUNCTION DMSetAVPowerState
  965.     ENDIF
  966.  
  967. ;
  968. ; pascal OSErr DMGetDeviceAVIDByPortAVID(AVIDType portAVID, AVIDType *deviceAVID)
  969. ;
  970.     IF ¨ GENERATINGCFM THEN
  971.         Macro
  972.         _DMGetDeviceAVIDByPortAVID
  973.             move.w              #$043B,D0
  974.             dc.w                $ABEB
  975.         EndM
  976.     ELSE
  977.         IMPORT_CFM_FUNCTION DMGetDeviceAVIDByPortAVID
  978.     ENDIF
  979.  
  980. ;
  981. ; pascal OSErr DMGetEnableByAVID(AVIDType theAVID, Boolean *isAVIDEnabledNow, Boolean *canChangeEnableNow)
  982. ;
  983.     IF ¨ GENERATINGCFM THEN
  984.         Macro
  985.         _DMGetEnableByAVID
  986.             move.w              #$063C,D0
  987.             dc.w                $ABEB
  988.         EndM
  989.     ELSE
  990.         IMPORT_CFM_FUNCTION DMGetEnableByAVID
  991.     ENDIF
  992.  
  993. ;
  994. ; pascal OSErr DMSetEnableByAVID(AVIDType theAVID, Boolean doEnable, Handle displayState)
  995. ;
  996.     IF ¨ GENERATINGCFM THEN
  997.         Macro
  998.         _DMSetEnableByAVID
  999.             move.w              #$053D,D0
  1000.             dc.w                $ABEB
  1001.         EndM
  1002.     ELSE
  1003.         IMPORT_CFM_FUNCTION DMSetEnableByAVID
  1004.     ENDIF
  1005.  
  1006. ;
  1007. ; pascal OSErr DMGetDisplayMode(GDHandle theDevice, VDSwitchInfoPtr switchInfo)
  1008. ;
  1009.     IF ¨ GENERATINGCFM THEN
  1010.         Macro
  1011.         _DMGetDisplayMode
  1012.             move.w              #$043E,D0
  1013.             dc.w                $ABEB
  1014.         EndM
  1015.     ELSE
  1016.         IMPORT_CFM_FUNCTION DMGetDisplayMode
  1017.     ENDIF
  1018.  
  1019.     ENDIF
  1020.     ENDIF ; __DISPLAYS__ 
  1021.  
  1022.